このページでは、コマンド看板の一種であるPress to codeについて解説する。
コマンドについての質問はコメントではなくQandAにて質問を。
各ページはサイドバーから
お知らせ一覧
参照数 New!
参照数が13000を突破しました!
Wiki内参照数トップ!!!!!!!!
⚠️注意:#codeプラグイン⚠️
#code(java,number)
ではなく、
#code(javascript,number)
#code(javascript,num)
を使用してください。
ここをクリックで詳しくを表示
| 項目 | Javascript | Java |
| 動作 | ウェブブラウザ上 | クロスプラットフォーム |
| 目的 | クライアントサイドの動的な振る舞い | 汎用的なオブジェクト指向 |
| 型付け | 動的 | 静的 |
| 型判定 | 実行時 | コンパイル時 |
| 実行環境 | ブラウザやNode.js(クライアント、サーバーサイド) | JVM上(サーバー・デスクトップ・Androidと幅広い) |
| メモリ | 柔軟で非同期処理が前提 | 長年のエンタープライズ重視 |
| 設計思想 | 迅速な開発とウェブの動的体験 | 静的保証と堅牢性 |
| 実行モデル | インタプリタ型/JITコンパイル | コンパイル -> バイトコード -> JVM実行 |
| 実行特徴 | 環境依存機構が強い | プラットフォーム独立性が強い |
| 代表用途 | ウェブページの動的操作、UIの反応、API通信 | サーバーサイドの大規模アプリ、Androidアプリ 金融系システム、デスクトップアプリ |
| 結論 | ウェブサイトで何かを動かす | アプリケーション |
目次
Press to codeとは
- 以下codeと呼ぶが、「Code API」とも呼ばれる。
- 最も高難易度な看板コマンド。
- 言語はJavascriptがベースのため、この知識が要される。
- 途中で改行可能。
- 実行には、看板(デメリットが多い、非推奨)かCode Block(専用ブロック、推奨)、World Codeを使う。
- 看板
- コード専用ではないため「Press to code」が必要。
- 以下からはCode Blockの形式でcodeを記載するが、短いものであればPress to codeを用いても問題ない
- 上限文字数が著しく少ない。
名前 合計文字数 合計行 1行の文字数 看板 112文字 7行 16文字 codeblock 15999文字 ∞ 82文字
- World Code
- 専用のコンテンツ。
- 一定条件が達成されたときに実行される
- Code Block
- 専用ブロックのため看板より遥かに便利である。
- 次のように検索すると入手できる。
- 看板
codeblock
command block
攻略
それでは早速攻略を始めよう。
codeをマスターするにはいくつかポイントが有る。
JS共通
ここではJavascriptなどbloxdの独自要素ではないものを少し紹介する。
あくまでここはbloxd内でのcodeの解説のため詳しく知りたい人は独自で。
計算
概要
- Codeの中では一番簡単と言える
- 四則計算を始めとした様々な計算が可能
基本文
3+3
実行時にResult:6とチャットメッセージが送られる
以下のようにして変数への代入も可能
num = 3 + 3
num = 1
num++
api.log(num) //2
このようにして、++をつけることで数を1ずつ増やすことができる
また、その逆で、
num = 1
num--
api.log(num) //0
このようにすると1づつへらっすこともできる
形式
概要
- api関数を使うためにはおさえるべきいくつかの形式
内容
| 形式 | 意味 | 例 |
| String | 文字列 | "Hello World" |
| Number | 数値 | 8 |
| boolean | 真偽値 | true/false |
| object | 連想配列 | {jp:"こん",en:"Hi!"} |
| array | 配列 | [1,2,3,"よん!"] |
| null | なし、無効 | null |
| undefined | わからない、未定義 | undefined |
| NaN | 数値でないものを数値として使ったときのエラー | NaN |
| playerId | プレイヤーが持つId(中身は"-1のような文字列") | myId |
| Any | それぞれの形で |
カスタムスタイリングテキストもある。
[]の中に入れたいものを書く
| タイプ | 型 | 設定 |
| アイコン | {icon:"bloxdのアイテムまたはfontawesomeのアイコン"} | color、fontSize |
| 文字列 | {str:"文字"} | color、fontWeight、fontSize、fontStyle |
api.broadcastMessage([{icon:"Block of Diamond"},{str:"party"}]
文字列連結
概要
- 特定の内容をつなげて1つの文字列にする方法の1つ
内容
文字列または変数名を+でつなぐ
const msg = "Code"
api.sendMessage(myId, "Hello" + msg) //HelloCodeが送られる
テンプレートリテラル
概要
- 特定の内容をつなげて1つの文字列にするもう1つの方法
内容
`文字${変数名}`
`バッククオートで囲う。
const msg = "Code"
api.sendMessage(myId, `Hello ${msg}`) //HelloCodeが送られる
apiの説明と公式説明の見方
以下のURLに公式からの情報がある
GitHub - Bloxdy/code-API
使い方
- 翻訳する場合
- ページを翻訳しても、Codeの説明などは翻訳されない。コピーして、翻訳機にかけよう。
- apiメゾットを確認する場合
- jsdocという関数を説明する形式で書かれてます
- ここには順に説明,例,メソッドがあります 初めての人は例をcodeblockに打ち込んでトライアンドエラーでやろう!
- 下は公式から一部抜粋したもの。
apiメゾットはapiのプロパティなので、api.をつけることで実行できます。/** ←説明欄の開始宣言 * Get position of a player / entity. ←説明(日本語でプレイヤー/エンティティの位置を取得という意味) * @param entityId ←@param :パラメーター。entityIdを入れてという意味。 * @returns {[number, number, number]} ←[数字,数字,数字]が返り値であるということ。 */ ←説明欄の終了宣言 getPosition(entityId: EntityId)api.getPosition(myId); //現在いる座標([0,0,0]など)が出力される
チャット
全員にチャットを送る または コードを押した人にチャットを送る 初歩的なコードについて解説する
全員にチャットを送るコマンド
api.broadcastMessage("ここに全員に送る文字を書く")
コードを押した人にチャットを送るコマンド
api.sendMessage(myId, "ここに送る文字を書く")
色を付ける
sendMessageやbroadcastMessageには、色をつけて送信することができます。
先程の呼び出しの最後の引数に、
, {color: "文字の色" }
をつけるだけです。
文字の色の種類の例(基本的にcssの標準の色は対応しています。)
赤:red オレンジ:orange 緑:green 白:white 青:blue
デフォルト(指定なし)や無効な形式なら白。
文字の色は、カラーコードなどのcssで用いることのできる形式でも指定可能。
使い方の例
api.broadcastMessage("赤色メッセージ", {color: "red"})
api.broadcastMessage("カラーコードで白色メッセージ", {color: "#ffffff"})
カラーコード一覧を見たい人はこちら WEB色見本 原色大辞典 - HTMLカラーコード
カスタムテキストスタイリング
カスタムテキストスタイリングとは、文字の色や大きさ、太さを変更するもの
種類
カスタムテキストスタイリングには、いくつか種類がある。
テキストや、アイコンがある。
テキストには、color、colour、fontWeight、fontSize、fontStyleがある。
アイコンには、color、colour、fontSizeがある。
なお、colorとcolourはスペルの違いであり、最後に追加したプロパティのほうが採用される。
使い方
カスタムテキストスタイリングは、以下のように使う。
api.sendMessage(myId, [{str:"カスタムする", style:{種類: "設定内容"}}])
①それぞれ色のついた赤と青というメッセージを送る。
api.sendMessage(myId, [
{str:"赤", style:{color:"red"}},
{str:"と"},
{str:"青", style:{color:"blue"}}
])
②色が黄緑で大きいめの細い文字を送る。
api.sendMessage(myId, [
{str:"Hello,world!", style:{color:"lime", fontSize:"25px", fontWeight:"100"}}
])
・指定しないとデフォルトのまま
・複数設定可能
・難しいが、とてもいい機能
・各設定で書き方が違うことに注意
ClientOption/EntityOption/MobOption
<リンク集>
https://github.com/Bloxdy/code-api/blob/main/CLIENT_OPTIONS.md
https://github.com/Bloxdy/code-api/blob/main/ENTITY_SETTINGS.md
https://github.com/Bloxdy/code-api/blob/main/MOB_SETTINGS.md
新追加のオプションでできること
🔧 クライアントオプション
・ブロックを変更できるか
・プレイヤーの速度倍率
・しゃがんでいる時の速度の倍率
・ジャンプの高さ
・空中ジャンプの回数
・バニホしたときの最大ジャンプ倍率
・バックグラウンドで音楽を流すか
・音楽の音量
・最小チャンク読み込み
・読み込まれていないチャンクのプレイヤーを表示するか
・インベントリを使えるか
・ポーションの効果を変更する
・空の見た目を詳しく設定できる
・リーダーボードを設定できるように
・ズームできるかできないか
・画面上部に大きなテキストを表示できるように
・画面下部に小さなテキストを表示できるように
・プログレスバーの表示/非表示
・キルログの表示/非表示
・チャットチャンネルの変更
・クリエイティブモードに設定
・クリエイティブモードでの飛行速度を変更できる
・ブロックをPick出来るか
・ブロック破壊するための時間の変更
・無敵
・リスポーン時/参加時に設定されるシールドの量を設定できる
・リスポーン時/参加時に設定される体力の量
・自動回復量の変更
・自動回復の間隔
・ダメージを受けてから自動回復が開始されるまでの秒数
・自動リスポーン
・自動リスポーンさせるまで何秒待つか
・プレイヤーが死亡した際、play againボタンを表示するかどうか
・リスポーンボタンに表示されるテキストを変更
・キルストリークがリセットされるまでの時間(ミリ秒)
・ダメージ倍率
・ヘッドショット倍率(銃のみ)
・足に当たったときの倍率(銃のみ)
・頭・脚以外に当たったときのダメージ倍率(銃のみ)
・ダメージを受けた時の倍率
・カートのスピード倍率
・カートのスピードブースト効果の倍率
・カートグライダーの高さ
・カートの加速倍率
・ドロップアイテムの大きさ変更
・プレイヤーが動いた時の視野角変化の倍率
・空中プレイヤーへの摩擦を設定
・地面プレイヤーへの摩擦を設定
・空中プレイヤーの加速度を変更
・空中移動の慣性を保存するかどうか
・落下ダメージの有無
・コードの編集権限を変更
🧍 エンティティオプション
・エンティティの透明度
・エンティティが他のエンティティを攻撃できるかどうか
・エンティティがプレイヤーに見えるかどうか
・エンティティにダメージを与えた際、ダメージ量を表示するか
・キルログに表示される色を変更
・エンティティのメッシュの大きさを変更できる
・ロビーのリーダーボードでのプレイヤーの色を設定できる
・ロビーのリーダーボードに追加する値
・プレイヤーのネームタグに関する設定を追加できる
・優先的な名前タグを持っているかどうか
・名前の色を変更できる
🐷 モブオプションでできるようになったこと
・モブのバリエーション
・モブのネームタグの編集
・初期体力
・メタ情報
・待機時の音
・攻撃時の音
・攻撃間隔
・モブの攻撃を受ける範囲(攻撃可能な範囲かも?)
・攻撃ダメージ
・ノックバック量
・攻撃時に使うアイテム
・攻撃された人に付与されるエフェクト
・エフェクトの持続時間
・歩く速さ
・走る速さ
・歩きの倍率
・走りの倍率
・ジャンプの回数
・横方向のジャンプ力
・縦方向のジャンプ力
・ジャンプ倍率
・敵対範囲
・立ち止まる距離
・ドロップアイテム
・死亡時のパーティクル
・モブの装備
クライアントオプションについて
クライアントオプションでは、
setClientOption(playerId, option, value) getClientOption(playerId, option) setClientOptions(playerId, optionsObj) setClientOptionToDefault(playerId, option)
のオプションがある。
主に使うのは、setClientOptionだ。
そして、更に下に各オプションがあるのだが、それは、
/**
* 説明
* @type {代入する数値}
*/
設定名 = 初期値
となっている。
これをさっきのオプションに挿入するには、
オプション(playerId, "設定名", "設定値")
とする。設定名、設定値には、必ず""をつけないと、エラーが出る。
(真偽値*1の場合には""をつけなくてよい。つけるとエラーがでる。)
クライアントオプションの例文
リスポーンボタンのテキストを変更するコード
api.setClientOption(playerId, "respawnButtonText", "復活")
これで、リスポーンボタンが復活という文字になる。
/**
* Text to show on respawn button. (E.g. "Spectate")
* @type {string}
*/
respawnButtonText = "general:respawn"
無敵にするコード
api.setClientOption(playerId, "invincible", true);
これを打つと、無敵になる。体の周りには、Infectionのリスポーン時の黄色のエフェクトが出る。
/**
* Whether the player is invincible
* @type {boolean}
*/
invincible = false
ブロックを壊せなくなるコード
api.setClientOption(playerId, "canChange", false);
これを入力すると画面下に"can't change"と出て、ブロックの変更ができなくなります。またコードブロックの編集もできなくなるので注意を
/**
* Whether the player can change blocks
* @type {boolean}
*/
canChange = true
ホットバーのみしか使えなくするコード
api.setClientOption(playerId,"useFullInventory",false)
これを入力すると、インベントリが開けなくなる。ミニゲームなどにおすすめ。
/**
* For now just enables the UI of the full inventory
* @type {boolean}
*/
useFullInventory = true
}}
エンティティ設定の例文
エンティティ設定では、
setTargetedPlayerSettingForEveryone(targetedPlayerId, settingName, settingValue, includeNewJoiners) setOtherEntitySettings(relevantPlayerId, targetedEntityId, settingsObject) setOtherEntitySetting(relevantPlayerId, targetedEntityId, settingName, settingValue) setEveryoneSettingForPlayer(playerId, settingName, settingValue, includeNewJoiners) getOtherEntitySetting(relevantPlayerId, targetedEntityId, settingName)
のオプションがある。
主に使われるのは、setEveryOneSettingForPlayerだ(多分)
他のプレイヤーを見えなくするコード(自分だけ)
api.setOtherEntitySetting(myId,プレイヤーId,"canSee",false}}
/**
* Whether the entity can be seen by the relevant player
* @type {boolean}
*/
canSee = true
モブ設定の例文
Apiの様々な使い方
Apiは、様々な使い方ができる。ここからは、その使い方の例を出していく
オーラ(aura)を設定する関数
getAuraInfo(playerId)
・ プレイヤーのオーラを取得する関数です
setTotalAura(playerId, totalAura)
・ プレイヤーのオーラを設定します
setAuraLevel(playerId, level)
・ プレイヤーのレベルを設定します
applyAuraChange(playerId, auraDiff)
・ プレイヤーのレベルを変更します 負の数にするとオーラを減らすことが出来ます
使い方の例
api.setAuraLevel(myId, 5)
これをすると、プレイヤーの経験値レベルが5になる。
エンチャントの設定コマンド
api.giveItem(
myId,
"Diamond Chestplate",
1,
{
"customAttributes": {
"enchantments": { "エンチャント名": エンチャントレベル,
"エンチャント名": エンチャントレベル},
"enchantmentTier": "ティア",
}
}
)
エンチャントについては、bloxd攻略/エンチャント一覧・経験値を見てほしい。
ティアは"Tier 1"~"Tier 5"まである
エンチャント名無しでティアだけを付けて光らせるだけというのも可能になっている
cape変更
Codeblockに、
api.changePlayerIntoSkin(myId, "cape", "CapeId")
と打ち込む
入っているサーバーから抜けると解除される。
アプデによりこのコマンドは限られた人しか使えなくなった。
Super Rank の人はSuper,Super_inverted,pig,sheep,Cow_normal,Cow_cream,noneを、YouTuberの人はYoutuberを使える。
新スキン変更
新たな方法は、
api.changePlayerIntoSkin(myId, "head", "id")
を入力することでスキンを変更できる。head、body、legsの各選択は必要ない。
現在はコレのみ、使用できる。
旧スキン変更
注: 現在はこの方法は使えません。
api.changePlayerIntoSkin(myId, "head", "head ID")
api.changePlayerIntoSkin(myId, "body", "Body ID")
api.changePlayerIntoSkin(myId, "legs", "Legs ID")
を打つことでスキンを変更することができる。
| 画像 | id | 概要 |
![]() | IronMelon | 鉄スイカマン |
![]() | Zombie | ゾンビ |
![]() | Wizard | 黒い魔術師のような..(ベッドのUpgradeのショップキーパー) |
![]() | FireWizard | Wizardの赤い版 |
![]() | TraderOne | ベッドウォーズやスカイウォーズなどのステージ選択のショップキーパー |
![]() | TraderTwo | |
![]() | TraderThree |
一気に全部同じのをやりたいという人は、
for (const part of ["head", "body", "legs"]) {
api.changePlayerIntoSkin(playerId, part, "ID")
}
これをコピーして、IDのとこに好きなものを入れればいい。
すべて同一しなくても良い。(足だけ変えるなど..)
<小ネタ>
IDを足などをIronMelon(鉄スイカ)にしながら頭を別のものにしたりすると鉄スイカの足の色が違くなる
入っているサーバーから抜けると解除される。
透明化
プレイヤーを見えなくすることができる。
api.setPlayerOpacity(myId, 0)
解除するには、↓
api.setPlayerOpacity(myId, 1)
プレイヤーを移動
プレイヤーを移動させたい場合、setVelocityを使用できます。
使い方の例は以下の通りです↓
api.setVelocity(myId, x, y, z);
例:
api.setVelocity(myId, 0, 10, 0); // 自分をジャンプさせる
どの方向にも移動させることができます
api.setVelocity(myId, 10, 0, 0); //自分をx方向に移動
数字は、1つ1ますじゃないようです。
吹っ飛ぶ
プレイヤーを吹っ飛ばしたい場合、applyImpulseを使用できます。
setVelocityよりも安定しているため、こちらのほうがおすすめです。
使い方の例は以下の通りです:
api.applyImpulse(myId, x, y, z);
例:
api.applyImpulse(myId, 10, 0, 10); // 自分を吹っ飛ばします。y座標を変更することでジャンプさせることも可能です。
巨人化
api.scalePlayerMeshNodes(myId, {
"TorsoNode":[5,5,5],
"HeadMesh": [5,5,5],
"ArmRightMesh": [5,5,5],
"ArmLeftMesh": [5,5,5],
"LegLeftMesh": [5,5,5],
"LegRightMesh": [5,5,5],
});
ちょっとこれだとバランスおかしくなるので5の部分を調節してみてください
もとに戻すには、以下のようにやります。
api.scalePlayerMeshNodes(myId, {
"TorsoNode":[1,1,1],
"HeadMesh": [1,1,1],
"ArmRightMesh": [1,1,1],
"ArmLeftMesh": [1,1,1],
"LegLeftMesh": [1,1,1],
"LegRightMesh": [1,1,1],
});
クラフト改造
このコマンドはレシピを自分で追加することができる。
形式としては、
Press to code
api.editItemCraftingRecipes(myId,
"[作成するアイテムの名前]",
[{requires:[{items:["[材料の名前]"],amt: [必要な材料の数]}],produces: [作成するアイテムの数],station:"[使うステーションの名前]"}]
)
のような感じである。
このAPIは、規制言葉が入っているので注意。
以下の i = ....のようにすれば規制を回避できる。
鉄スイカを土50個で作るには、
i = "edit"
i += "ItemCraftingRecipes"
const editCraft = api[i]
editCraft(myId,
"Iron Watermelon",
[{requires:[{items:["Dirt"],amt: 50}],produces: 999,station:"Workbench"}]
)
をCodeblockにいれ、実行すればできる。
このコマンドを使えば鉄スイカが簡単に入手できるようになる。
作成するアイテムに必要な材料を複数指定する場合は、以下のようにする。
api["edit" + "ItemCraftingRecipes"](myId,
"Iron Watermelon",
[{requires:[{items:["Dirt"],amt: 50}, {items:["Maple Log"],amt:50}, ],produces: 1,station:"Workbench"}]
)
https://d.kuku.lu/7rdjekdwg
こちらのサイトから、ほぼ全てのアイテムを実行できる、過去に記載されていたコードをダウンロードできる。
もしできなければ、編集の方からコピーすると良いかもしれない。
(動作確認:Chrome)
体力変更
api.setHealth(myId, 体力)
で体力を変更することができる
最大値は9999999999で、最低値は0。0にするとkillされる
この仕様を使えば、CreativeでもPeacefulでもkillができる。
Name = "Killしたい人の名前"
id = api.getPlayerId(Name)
api.setHealth(id, 0, myId, true)
とすれば、指定した人を自分がキルしたことにできる。
いろんな体勢
api.setPlayerPose(myId, "体勢名")
で体勢を変更できる
エフェクト
api.applyEffect(myId, "エフェクトの見た目", 時間, {icon:"エフェクト名" });
でエフェクトを付けられる。
時間は、ミリ秒なので、指定したい秒×1000の数値を書けばいい。無期限の場合は、nullを書く。
| 設定名 | 説明 |
| displayName | "エフェクト名" でエフェクト名を設定できる。 |
| inbuiltLevel | 値 でエフェクトのレベルを変更できる。 |
| icon | "アイコン名" でエフェクトのアイコンを変更できる。 |
エフェクトを外すには、
api.removeEffect(myId, "エフェクト名");
だ。
すべてのエフェクトを外すには、
for(let effects of api.getEffects(myId)){
api.removeEffect(myId, effects)
}
サウンド
https://github.com/Bloxdy/code-api/blob/main/SOUND_NAMES.md
にサウンド名が記述されています。
api.playSound(プレイヤーID,サウンド名("で囲うこと), ボリューム(0~1), ピッチ(0.5~4), (以下省略可)posSettings?: {
playerIdOrPos: PlayerId | number[] //どの座標から鳴らすか、配列で指定
maxHearDist?: number //○ブロック離れてると再生されません
refDistance?: number //値が大きいほど距離減衰が小さくなります
})
以下例
api.playSound(myId,"cannonFire1",1,1);
→キャノンファイヤ1をボリューム1のレート1で鳴らす
三角波(ミに近い音)1340Hzぐらい
api.playSound(myId,"beep",1,1);
ランダムtp
このコードは、指定範囲の間からランダムに選択してtpするコードである。
const pos = {
xpos: { min: -50000, max: 50000 },
zpos: { min: -50000, max: 50000 }
}
const x = Math.floor(Math.random() * (pos.xpos.max - (pos.xpos.min) + 1)) + (pos.xpos.min);
const z = Math.floor(Math.random() * (pos.zpos.max - (pos.zpos.min) + 1)) + (pos.zpos.min);
api.setPosition(myId, x, 100, z)
api.sendMessage(myId, `teleported to ${x} 100 ${z}`)
// **ドレミファソラシド(サウンド) [#doremi]
// このコードはcodeblock応用編へ移行しました
// [[コマンド/Press to code/応用編]]
// 真ん中の音を一応置いときます
// #fold(ドレミの音){{{
// #code(javascript,number){{
// /*中ド*/ api.playSound(myId,"beep",1,0.78059);
// /*中ド#*/ api.playSound(myId,"beep",1,0.82686);
// /*中レ*/ api.playSound(myId,"beep",1,0.87611);
// /*中レ#*/ api.playSound(myId,"beep",1,0.92835);
// /*中ミ*/ api.playSound(myId,"beep",1,0.98358);
// /*中ファ*/ api.playSound(myId,"beep",1,1.04179);
// /*中ファ#*/ api.playSound(myId,"beep",1,1.10373);
// /*中ソ*/ api.playSound(myId,"beep",1,1.16940);
// /*中ソ#*/ api.playSound(myId,"beep",1,1.23955);
// /*中ラ*/ api.playSound(myId,"beep",1,1.31343);
// /*中ラ#*/ api.playSound(myId,"beep",1,1.39104);
// /*中シ*/ api.playSound(myId,"beep",1,1.47388);
// }}}
// }}}
// ----
// &br;
指定プレイヤーを指定座標にセットする
これには、api.setPositionを使います。
api.setPosition(myId, x座標, y座標, z座標)
例としては、
api.setPosition(myId, 1000, 10, 1000)
発展版
ids = api.getPlayerIds().filter(id => id !== myId); ids.forEach(id => api.setPosition(id,[X座標,Y座標,Z座標]));
getPositionを使ったプレイヤーのところへtpする
ids = api.getPlayerIds().filter(id => id !== myId); ids.forEach(id => api.setPosition(id,api.getPosition(myId)));
このコードは自分を除いたプレイヤーを指定の座標へtpさせるコードです。
Name = "名前" id = api.getPlayerId(Name) ipos = api.getPosition(id) api.setPosition(myId, ipos)
このコードは指定プレイヤーのとこに行くコードです。
アイテム付与
このcodeは好きなアイテムを好きなだけ、ゲットできるコードです。
api.giveItem(playerId, "アイテム名", 数)
例文
api.giveItem(myId, "Block of Iron",1)
アイテムの名前、説明文を変更・追加する方法
api.setItemSlot(myId, 0, "アイテムId", 1000, {
customDisplayName: "アイテムの名前",
customDescription: "アイテムの説明",
});
例文
api.setItemSlot(myId, 0, "Book", 1000, {
customDisplayName: "Book",
customDescription: "by Arthur",
});
これでArthurが署名したかのような本ができる。このようにしたとき、本は署名済になっている。
またカスタム属性を追加することで本の内容を書き換えることができる
api.setItemSlot(myId, 0, "Book", 1000, {
customDisplayName: "Book",
customDescription: "by Arthur",
customAttributes: {
pages: [["1ページ目"], ["2ページ目"]]
}
});
内容は配列形式で指定してください!
色々な設定を追加したい人用
api.setItemSlot(
myId,
0,
"Diamond Chestplate",
1,
{
customDisplayName: "AIUEO",
customDescription: "KONNICHIWA",
customAttributes: {
enchantments: {
"Protection": 10,
"Health": 10
},
enchantmentTier: "Tier 5"
}
}
);
これ使うと大体の設定はできます
Buyコマンド
公式buyコマンド
Game Competition winnersのMine Simulaterのbuyコマンドです2000Gold CoinでMoonstone Pickaxeが買えるコードです
あと結構見やすいのとbuyItemなどを簡単に変えられるのが特徴です
buyItem="Moonstone Pickaxe"
buyAmount=1
customBuyItemName="Moonstone Pickaxe"
priceItem="Gold Coin"
priceAmount=2000
if(api.getInventoryItemAmount(myId,priceItem)>=priceAmount)
{api.removeItemName(myId,priceItem,priceAmount)
api.giveItem(myId,buyItem,buyAmount,{customDisplayName:customBuyItemName})}
else{api.sendMessage(myId,"You can\'t afford this!",{color:"yellow"})}
buyコマンドのようなやつ
const AAA = api.getSelectedInventorySlotI(myId);
const diamondSlot = api.getItemSlot(myId, AAA);
if (diamondSlot && diamondSlot.name === "Diamond" && diamondSlot.amount >= 10) {
api.removeItemName(myId, "Diamond", 10);
api.giveItem(myId, "Gold Bar", 1);
} else {
const missingAmount = diamondSlot ? 10 - diamondSlot.amount : 10;
api.sendMessage(myId, "You need " + missingAmount + " more Diamond to buy 1 Gold Bar.");
}
Diamond(コスト)の部分と、Gold Bar(品) の部分と、1(品) と10(コスト)を変えるとできるよ。
初回のみメッセージを表示
1つ目のコードブロック
let e = "giveStandardChestItem" var giveitem = api[e] let a = "getStandardChestItemAmount" var getamount = api[a] let u = "getEntityName" var getname = api[u]
2つ目のコードブロック
globalThis.clicked ??= [];
if (!globalThis.clicked.includes(myId)) {
giveitem([10028, -5, -80], "Dirt", 1);
globalThis.clicked.push(myId);
api.sendMessage(myId,`ようこそ!${getname(myId)}さん!\nあなたは${getamount([10028, -5, -80],"Dirt")}人目の来訪者です!`);
}
初回のみメッセージを表示させます。
何故2つのコードブロックに分けたかと言うと、titという単語が規制されているからです。2つに分けないと文字列がバグります
また、giveitemとgetamountの引数を必ず変更してください。そうしないとバグります
右上のバー
アプデとかのときに出てくるあれ
api.sendTopRightHelper(myId,"アイコン","本題の文字",{duration:表示する秒数,height:高さ,width:横の長さ})
アイコンはここから
https://fontawesome.com/
一部のアイコンは使えないことがる
例
api.sendTopRightHelper(myId,"fa-solid fa-download","Download...",{duration:20});
アイコンの持ってきかた
1.欲しいアイコンを https://fontawesome.com/search で探す
2.HTMLのボタンのとこの、 <i class="なんちゃらかんちゃら"></i> と書いてあるので、なんちゃらかんちゃらの部分だけ抜き出して、アイコンのとこに入れる
お助けツール
コードを組めるチャットGPT
| リンク | 作成者 | 概要 |
| 調教ChatGPT 1 | みこまる | みこまるにより調教された、一番最初のChatGPT |
| 調教ChatGPT 2 | yuuto | みこまるにより調教されたものを、さらに調教したもの。 エラーを送ると大体のものは直してくれる |
| 調教ChatGPT 3 | RS | 調教ChatGPT 2を、さらに調教したもの。 動作が重い(かなり重い)が、World CodeもCode blockも使える。 最新のGPT-5で調教したもの。 追記:AIの更新は終了しました。AIが公式githubの更新内容の概要を提示し、更新するかどうかを選べるようになりました。by RS |
| 調教ChatGPT 4 | yuuto | これらの調教内容を、簡潔にまとめ、一言で渡したもの。 動作は軽いが、調教ChatGPT 3より性能が低い。 たまに変なAPIを出すことがある。その時は、「公式Github見て直して」といえば、直してくれる |
| 調教ChatGPT Light | SUKIYA | GitHubのみ参考にしたGPTである。 動作はトップクラスの軽さだが、まあ性能が低い。 たまに動作出来ないAPIを出すことがある。その時は、「Github見て直して」といえば、直してくれるはずである |
githubの更新を見てくれない時の対処法
1.「もう一度見てみて」と言う
2.「https://github.com/Bloxdy/code-api/commits/main/」をChatGPTに貼って更新を見てもらう
3.更新内容をコピペする
注意点として、ChatGPTに貼る時は4000字以内に収めること
4.スクショする
更新内容を全て写すこと
コメント
- 2025 6/29 pコメントにさせてもらいましたコメントページはこちらから -- yuuto 2025-06-29 (日) 10:00:00
質問するときはこちらから→コマンド/Press to code/QandA
⚠️注意⚠️
ここのコメントでコードについての質問をしないでください。
コードについての質問は、QandAにてしてください。
もしここでコードの質問を繰り返した場合、規制される可能性があります。- アプデでスキンとか食べ物より、階段とか建築勢に嬉しいアプデ来ないのかな -- 苺刑期 2025-10-24 (金) 09:21:29
- 「上の人」さんは誰? -- yuki9125 2025-10-25 (土) 08:40:33
- ”上の人”はまあ俺だよあとさなんか神アプデってなんだろうって思ってんだよな -- God_joe_Bloxd_JPN 2025-10-25 (土) 11:16:07
- 階段追加は建築世界最弱(俺のことww)でもうれしいなあ -- God_joe_Bloxd_JPN 2025-10-25 (土) 11:17:25
- 追記 なんか変なこと言ってすんません -- God_joe_Bloxd_JPN 2025-10-25 (土) 11:19:56
- けんちくたのしい -- こころここなっつ 2025-11-08 (土) 23:38:39
- ランダムtpのcodeよく使うけどわからないって人多いっぽいからこのページに追加してほしい -- aaa_ 2025-11-15 (土) 21:43:33
- 神だなあ -- 2025-11-18 (火) 20:33:10
- 相手をその場で動けなくするコマンドありますか夢想封印的なものしたくて -- potetosarada114 2025-11-18 (火) 21:46:09
- コードについての質問はしないでって上にも下にも書いてあるのに...質問はQandAでお願いします -- けんたき 2025-11-18 (火) 21:52:15
- はい!わかりました -- potetosarada114 2025-11-22 (土) 15:53:33
- なんか騒がしい
-- minato0530 2025-11-24 (月) 12:34:50 - このページを入門にするのかコード掲示板にするのか決めたほうが初心者の方も上達しやすいと思うんだけど、みんなはどうするつもりなの? -- コードHT3のぶるー 2025-11-28 (金) 14:30:55
- あと、全体で書式を統一する必要もあると思うんだよね。基本的にはMDNに基づく形でいいと思うけど、書式はみんなで統一してこそ意味があると思うから意見を聞きたいな -- ぶるー 2025-11-28 (金) 14:43:18
- ありがとお -- マインクラフト 2025-12-07 (日) 20:40:46
- 調教Chatgpt1が何も返さない(よくわからんけど) -- ヌコのJoe_owo 2025-12-09 (火) 14:35:44
- サイトを再更新してみてください -- RS 2025-12-11 (木) 16:25:18
- なんかchatgptがおかしい Github見てっていっても ごめん見れないって言う -- あおあお 2025-12-12 (金) 13:40:57
- 「もう一度githubを見て」と言ってみたりgithubのリンクを入力してください。それでもダメな場合は最新のコミットのスクショを貼ればいけるはずです。 -- RS 2025-12-14 (日) 22:55:20
- 更新を見てくれない時の対処法を追加してみました -- RS 2025-12-14 (日) 23:06:23


















